//区别1:type尅行使用范围更广，接口类型只能用来声明对象
type MyNumber = number;
let num1: MyNumber = 20;

//区别2：在声明对象时interface可以多次声明
//type不允许声明两次
// type PointType1 = {
//   x: number;
//   y: number;
// };

// type PointType1 = {
//   z?: number;
// };

//interface声明两次
interface PointType2 {
  x: number;
  y: number;
}

interface PointType2 {
  z: number;
}

const point: PointType2 = {
  x: 100,
  y: 200,
  z: 200,
};

//3.interface支持继承
interface IPerson {
  name: string;
  age: number;
}

interface IKun extends IPerson {
  kouhao: string;
}

const ikun1: IKun = {
  kouhao: "你干嘛，哎呦",
  name: "蔡徐坤",
  age: 30,
};
//4.interface可以被类实现

//如果是非对象类型的定义使用type,如果是对象类型的声明那么使用interface

export {};
